package cn.aiweiyi.qingjing.coupon.template.converter;

import cn.aiweiyi.qingjing.coupon.comm.vo.TemplateRule;
import com.alibaba.fastjson.JSON;

import javax.persistence.AttributeConverter;
import javax.persistence.Convert;

/**
 * @author 青衿
 * @Date 2020/11/17 9:29
 * 模板规则转换器
 * 用于将规则对象在JSON字符串之间进行转换
 **/
@Convert
public class RuleConverter implements AttributeConverter<TemplateRule, String> {

    //将实体枚举类型的属性值转换为数据库的字段值,增删改操作时执行
    @Override
    public String convertToDatabaseColumn(TemplateRule rule) {
        return JSON.toJSONString(rule);
    }

    @Override
    public TemplateRule convertToEntityAttribute(String rule) {
        return JSON.parseObject(rule, TemplateRule.class);
    }
}
